LinuC-2 - 202試験 - 2.07:ネットワーククライアントの管理 - 2.07.1 DHCPサーバーの設定と管理

Last Update : January 02 2021 16:07:30

     

a. DHCPの設定

DHCP(Dynamic Host Configuration Protocol)は、IP ネットワーク上の個々の機器が、自分自身のネットワーク設定情報(IPアドレス、サブネットマスク、ブロードキャストアドレスなど)をDHCP サーバーから得られるようにするプロトコルで、その主な目的は大規模なネットワークの管理を容易にすることです。DHCPサーバーはLAN内にあるクライアントマシンの台数が増えれば増えるほど効力を発揮し、手動IPアドレス設定によるIPアドレスの重複といった人為的なミスを減らすことができます。DHCPサーバーの導入によって、IPアドレスの管理が非常に楽になり、LANケーブルをPCに挿し込むだけでネットワークに接続することができるようになります。尚、LAN内にルータがある場合は、通常、ルータが簡易DHCPサーバーとしての機能を果たしています。同一サブネットワーク内にDHCPサーバーが2つ以上あると動作に支障をきたすなどのトラブルを招きかねないので、DHCPサーバーを導入する際には予めルータのDHCP機能を停止させておかなければなりません。


1.DHCPサーバーのインストール

$ rpm -q dhcpd
パッケージ dhcpd はインストールされていません
$ su -
# rpm -ivh dhcp-3.0pl1-9.i386.rpm

2.自動起動の設定

ランレベル3と5でdhcpdが自動起動するように設定します。

# chkconfig --level 35 dhcpd on
# chkconfig --list dhcpd

dhcpd 0:オフ 1:オフ 2:オフ 3:オン 4:オフ 5:オン 6:オフ


3.DHCPサーバーの設定

DHCP サーバーの設定は/etc/dhcpd.conf を記述することで行います。DHCP サーバーの設定にはさまざまなオプションがあり/etc/dhcpd.conf を直接編集して設定することもできますが、Webmin を使用するとさらに容易に設定を行うことができます。

(1)サブネットと共有ネットワークの主な設定項目
  • subnet --- ネットワークアドレス
  • netmask --- ネットマスク
  • range --- アドレスの範囲
  • default-lease-time --- デフォルトリース時間(秒単位で設定します)
  • max-lease-time --- 最大リース時間(秒単位で設定します)

(2)クライアントオプションの主な設定項目
  • option routers --- デフォルトルータ
  • option domain-name --- DNSドメイン名
  • option domain-name-servers --- DNS サーバー
  • option netbios-name-servers --- WINS(Windows Internet Name Service)サーバー

(3)ホストに対する主な設定項目
  • host --- ホスト名
  • hardware ethernet --- ハードウェアアドレス
  • fixed-address --- 固定のIP アドレス

サブネット192.168.0.0/24 のネットワークで192.168.0.10-254 をリースして、デフォルトのリース期間を3 日(最大を6 日)とし、DNS サーバーを指定し、MAC アドレス(12:34:56:78:9A:BC)のホストに固定アドレスを指定した場合の/etc/dhcpd.confの例を以下に示します。

ネットワークアドレス 192.168.0.0
サブネットマスク 255.255.255.0
アドレス範囲 192.168.0.10~192.168.0.254
デフォルトゲートウェイ 192.168.0.1
DNSサーバー 192.168.0.2
ドメイン名 click-rescue.com
デフォルトリース期間 3 日(最大を6 日)
固定アドレスサーバー MAC アドレス(12:34:56:78:9A:BC)


4.設定ファイル(dhcpd.conf)のコピー

dhcpd の設定ファイルはデフォルトではインストールされませんので、サンプルファイルをコピーし、それを修正していく形で進めていきます。サンプルファイルは、/usr/share/doc/dhcp-3.0pl1配下に置かれています。

# cp /usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample /etc/dhcpd.conf


5.dhcpd.confの編集

それでは実際に、dhcpd.confの設定を行っていきます。

subnet 192.168.0.0 netmask 255.255.255.0 { option domain-name-servers 192.168.0.2; option domain-name "click-rescue.com"; option routers 192.168.0.1; max-lease-time 518400; default-lease-time 259200; range 192.168.0.10 192.168.0.254; host server { hardware ethernet 12:34:56:78:9A:BC; fixed-address 192.168.0.5; } }
  • ddns-update-style interim
    このパラメータでは、DynamicDNS(動的DNS)情報の更新方法について指定します。値には、「interim、ad-hoc、none」を指定することができます。ここでは、DHCPとDynamicDNSとの連携を行う場合は、interimを指定します。ad-hocは旧バージョンのdhcpdとの互換性を維持する目的の場合に指定します。

  • ignore client-updates
    クライアントからのDNS更新要求時に、ドメイン名を無視し、ホスト名だけを用います。仮に自ドメインが「example.com」であり、あるクライアントから「foo.exmaple.jp」というFQDNで更新要求をしてきた場合に、「example.jp」を無視し、「foo」というホスト名だけを用います。「example.com」ゾーンのPTRレコードとAレコードには共に、「foo.example.com」レコードが追加されるようになります。尚、有効にするには、「allow client-updates」と指定します。有効にした場合、FQDN で登録されることになり、上記の例では、「foo.exmaple.jp」がそのままレコードに追加されるようになります。よくわからない方は、「BINDによるDNSサーバーの構築 」を参照してください。

  • subnet ~ netmask
    ネットワークアドレスとサブネットワークを設定します。{ } の間でひとつのサブネットに対する設定を行います。複数のサブネットに対してDHCPサービスを行うには以下のようにします。

●複数サブネットの例
subnet 192.168.0.1 netmask 255.255.255.0{
省略
}
subnet 192.168.1.1 netmask 255.255.255.0{
省略
}
  • shared-network name
    ひとつの物理ネットワークに複数のサブネットがある場合、shared-network宣言を用います。name はデバッグメッセージとして表示されます(下記参照)。
●shared-networkの例
option domain-name "click-rescue.com";
option domain-name-servers ns1.click-rescue.com;

default-lease-time 21600;
max-lease-time 43200;

shared-network HomeLan {
subnet 10.0.0.0 netmask 255.0.0.0 {
option broadcast-address 10.255.255.255;
option routers 10.0.0.1;
}
subnet 172.16.0.0 netmask 255.255.0.0 {
option broadcast-address 172.16.255.255;
option routers 172.16.0.1;
}
subnet 192.168.0.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.0.32 192.168.0.63
option broadcast-address 192.168.0.63;
option routers 192.168.0.1;
}
}
  • option routers
    ルータのIPアドレスを記述します。

  • option subnet-mask
    サブネットマスク値を記述します。

  • option domain-name
    所属するドメイン名を記述します。

  • option domain-name-servers
    DNSサーバーのホスト名、もしくはIPアドレスを記述します。

  • option ntp-servers
    NTPサーバーがあれば、NTPサーバーのホスト名、もしくはIPアドレスを記述します。

  • option netbios-name-servers
    WINSサーバーがあれば、WINSサーバーのホスト名、もしくはIPアドレスを記述します。

  • range dynamic-bootp
    動的に割り当てるIPアドレスの範囲を指定します。

  • default-lease-time
    IPアドレスの貸し出し期限(秒単位)を指定します。クライアントからのDHCP要求(DHCPDISCOVER)がない場合は、ここで指定した時間を超えると自動的にIPアドレスは解放されます。デフォルトでは21600秒(21600÷60÷60÷24=0.25=6時間)となっています。

  • max-lease-time
    IPアドレスの最大の貸し出し時間(秒単位)を指定します。ここで指定した時間以上はIPアドレスを貸し出しません。デフォルトでは43200秒(43200÷60÷60÷24=0.5=12時間)となっています。つまり、クライアントからのIPアドレスの延長要求があろうとも、12時間を越えたらIPアドレスは解放されることになります。


6.特定のIPアドレスを割り当てる

DHCPで特定のIPアドレスを割り当てるには、以下のようにします。個々のマシンがもっているMACアドレスによって、そのマシンを特定し、dhcpd.conf で指定されたIPアドレスを割り当てる仕組みになっています。

host sakura-sv {
hardware ethernet 08:00:46:5D:DD:XX;
fixed-address 172.16.50.8;
}

7.DHCPの再起動

dhcpd.confを編集し終えたら、設定を有効にするためにDHCPを再起動してください。この時、/etc/dhcpd.conf あるいは、/var/lib/dhcpd/dhcpd.leasesファイルが存在しない場合、dhcpdは起動しないので注意してください。正常に起動しない場合、コマンドを実行してもコンソール上では無反応になります。また、/etc/dhcpd.conf 自体に構文ミスがあると、エラーメッセージが表示されますので修正後、再度、起動してください。

# /etc/init.d/dhcpd restart
dhcpdを停止中: [ OK ]
dhcpdを起動中: [ OK ]

ここまで終えたら、実際にクライアントマシンからIPアドレスの配布が行われるか確認してみてください。Windowsクライアントの場合は、TCP/IPのプロパティで「IPアドレスを自動的に取得する」にチェックを入れてください。次に、コマンドプロンプトで「ipconfig /release」でIPアドレスをリリースした後、「ipconfig /renew」でIPアドレスがきちんと割り当てられたら成功です。確認事項として「ipconfig /all」を実行し、「DHCP Server」欄がDHCPサーバーのアドレスになっていることを確認します。もし他にDHCPサーバー(ルータなど)が同一ネットワーク内に存在する場合、アドレス欄はすでに使用していたDHCPサーバーのアドレスになってしまうので、ルータ等のDHCPサーバー機能を停止させてからもう一度ipconfigコマンドを実行してみてください。

●Windowsクライアントでのコマンド実行例
C:\>ipconfig /release
#現在のIPアドレスを開放する

Windows IP Configuration

Ethernet adapter ローカル エリア接続:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 0.0.0.0
Subnet Mask . . . . . . . . . . . : 0.0.0.0
Default Gateway . . . . . . . . . :


C:\>ipconfig /renew
#IPアドレスを再取得する(DHCPDISCOVER)

Windows IP Configuration

Ethernet adapter ローカル エリア接続:

Connection-specific DNS Suffix . : click-rescue.com
#dhcpd.confファイルのoption domain-nameで指定したドメイン名が表示される

IP Address. . . . . . . . . . . . : 172.16.50.13
Subnet Mask . . . . . . . . . . . : 255.255.255.224
Default Gateway . . . . . . . . . : 172.16.50.1


C:\>ipconfig /all

Windows IP Configuration

Host Name . . . . . . . . . . . . : SNOOPY
Primary Dns Suffix . . . . . . . : click-rescue.com
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : click-rescue.com


Ethernet adapter ローカル エリア接続:

Connection-specific DNS Suffix . : click-rescue.com
Description . . . . . . . . . . . : Intel(R) PRO/100 VE Network Connecti
on
Physical Address. . . . . . . . . : 08-00-46-5D-03-XX
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 172.16.50.13
Subnet Mask . . . . . . . . . . . : 255.255.255.224
Default Gateway . . . . . . . . . : 172.16.50.1
DHCP Server . . . . . . . . . . . : 172.16.50.2
DNS Servers . . . . . . . . . . . : 172.16.50.1
Lease Obtained. . . . . . . . . . : 2003年12月10日 4:22:39
#dhcpd.conf のmax-lease-timeで指定したIPアドレスの貸し出し期限の最大値の時間が表示される。このコマンドは12月9日4時22分に実行したものであるので、IPアドレスの最大貸し出し期限は翌日の10日4時22分と表示される。

Lease Expires . . . . . . . . . . : 2003年12月10日 10:22:39
#dhcpd.conf のdefault-lease-timeで指定した値が表示される。dhcpd.conf では21600秒(6時間)と設定したので、クライアントからの要求がない限りは、6時間後の10時22分にIPアドレスは解放される。



z. 出題範囲概要

概要 :
  • DHCPサーバーを設定できる。これには、デフォルトおよびクライアントごとのオプションの設定と、静的ホストおよびBOOTPホストの追加も含まれる。また、DHCPリレーエージェントの設定とDHCPサーバーの保守も含まれる。

詳細 :
  • DHCPの設定ファイル、用語、ユーティリティ
    arp, dhcpd, dhcpd.conf, dhcpd.leases
    syslog や systemd のジャーナル内の DHCP のログメッセージ
  • サブネットと動的割り当て範囲の設定
  • DHCPv6 と IPv6 のルータ広告について知っている。
    radvd, radvd.conf

  [ 例題 ] 


         

    www.it-shikaku.jp